+use std::env;
+
use cargo::core::Workspace;
use cargo::ops::{self, MessageFormat, Packages};
use cargo::util::{CliResult, CliError, Config, CargoErrorKind};
";
pub fn execute(options: Options, config: &Config) -> CliResult {
- let root = find_root_manifest_for_wd(options.flag_manifest_path, config.cwd())?;
-
- let spec = Packages::from_flags(options.flag_all,
- &options.flag_exclude,
- &options.flag_package)?;
+ debug!("executing; cmd=cargo-bench; args={:?}",
+ env::args().collect::<Vec<_>>());
config.configure(options.flag_verbose,
options.flag_quiet,
&options.flag_color,
options.flag_frozen,
options.flag_locked)?;
+
+ let root = find_root_manifest_for_wd(options.flag_manifest_path, config.cwd())?;
+ let ws = Workspace::new(&root, config)?;
+
+ let spec = if options.flag_all || ws.is_virtual() {
+ Packages::All
+ } else {
+ Packages::from_flags(options.flag_all,
+ &options.flag_exclude,
+ &options.flag_package)?
+ };
+
let ops = ops::TestOptions {
no_run: options.flag_no_run,
no_fail_fast: options.flag_no_fail_fast,
},
};
- let ws = Workspace::new(&root, config)?;
let err = ops::run_benches(&ws, &ops, &options.arg_args)?;
match err {
None => Ok(()),
options.flag_locked)?;
let root = find_root_manifest_for_wd(options.flag_manifest_path, config.cwd())?;
+ let ws = Workspace::new(&root, config)?;
- let spec = Packages::from_flags(options.flag_all,
- &options.flag_exclude,
- &options.flag_package)?;
+ let spec = if options.flag_all || ws.is_virtual() {
+ Packages::All
+ } else {
+ Packages::from_flags(options.flag_all,
+ &options.flag_exclude,
+ &options.flag_package)?
+ };
let opts = CompileOptions {
config: config,
target_rustc_args: None,
};
- let ws = Workspace::new(&root, config)?;
ops::compile(&ws, &opts)?;
Ok(())
}
let root = find_root_manifest_for_wd(options.flag_manifest_path, config.cwd())?;
let ws = Workspace::new(&root, config)?;
- let spec = Packages::from_flags(options.flag_all,
- &options.flag_exclude,
- &options.flag_package)?;
+ let spec = if options.flag_all || ws.is_virtual() {
+ Packages::All
+ } else {
+ Packages::from_flags(options.flag_all,
+ &options.flag_exclude,
+ &options.flag_package)?
+ };
let opts = CompileOptions {
config: config,
+use std::env;
+
use cargo::core::Workspace;
use cargo::ops::{self, MessageFormat, Packages};
use cargo::util::{CliResult, Config};
";
pub fn execute(options: Options, config: &Config) -> CliResult {
+ debug!("executing; cmd=cargo-check; args={:?}",
+ env::args().collect::<Vec<_>>());
+
config.configure(options.flag_verbose,
options.flag_quiet,
&options.flag_color,
options.flag_locked)?;
let root = find_root_manifest_for_wd(options.flag_manifest_path, config.cwd())?;
+ let ws = Workspace::new(&root, config)?;
- let spec = if options.flag_all {
+ let spec = if options.flag_all || ws.is_virtual() {
Packages::All
} else {
Packages::Packages(&options.flag_package)
},
};
- let ws = Workspace::new(&root, config)?;
ops::doc(&ws, &doc_opts)?;
Ok(())
}
+use std::env;
+
use cargo::core::Workspace;
use cargo::ops::{self, MessageFormat, Packages};
use cargo::util::{CliResult, CliError, Config, CargoErrorKind};
";
pub fn execute(options: Options, config: &Config) -> CliResult {
+ debug!("executing; cmd=cargo-test; args={:?}",
+ env::args().collect::<Vec<_>>());
+
config.configure(options.flag_verbose,
options.flag_quiet,
&options.flag_color,
options.flag_locked)?;
let root = find_root_manifest_for_wd(options.flag_manifest_path, config.cwd())?;
+ let ws = Workspace::new(&root, config)?;
let empty = Vec::new();
let (mode, filter);
&options.flag_bench, options.flag_benches);
}
- let spec = Packages::from_flags(options.flag_all,
- &options.flag_exclude,
- &options.flag_package)?;
+ let spec = if options.flag_all || ws.is_virtual() {
+ Packages::All
+ } else {
+ Packages::from_flags(options.flag_all,
+ &options.flag_exclude,
+ &options.flag_package)?
+ };
let ops = ops::TestOptions {
no_run: options.flag_no_run,
},
};
- let ws = Workspace::new(&root, config)?;
let err = ops::run_tests(&ws, &ops, &options.arg_args)?;
match err {
None => Ok(()),
}
}
+ pub fn is_virtual(&self) -> bool {
+ match *self.packages.get(&self.current_manifest) {
+ MaybePackage::Package(..) => false,
+ MaybePackage::Virtual(..) => true
+ }
+ }
+
/// Returns the `Config` this workspace is associated with.
pub fn config(&self) -> &'cfg Config {
self.config